package intf;

/**
 * @author du.senlin
 * @Title:
 * @Description:
 * @date 2020/3/30 11:03
 */
//FunctionalInterface注解表示只包含一个抽象方法的接口类型，多于一个就会报错
@FunctionalInterface
public interface Jdk8InIntf {

    void hello();
//    void hello2();

    /**
     * jdk 1.8中接口可以扩展非抽象方法，需要使用default关键字
     * 为什么要这么做呢？众所周知，Java是单继承多实现的，现在1.8这么搞，不是破坏原有特性，使之于抽象类混淆吗？
     * 大概是为了减少重复代码，提炼通用的代码逻辑于接口直接调用
     * @return
     */
    default String helloWorld() {
        return "helloWorld";
    }


}
